分享人:汤特
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
我们在写后台有很多的地方都有用到弹出模拟框的效果,而且一般的后台框架都是自己带有这样的效果的。 但有一定的局限性:界面不美观,功能实现较复杂。
Bootbox.js是一个小型的JavaScript库,基于 Twitter 的 Bootstrap 开发。它允许你创建使用编程对话框。可以快速定制,创建自己所需的模拟框,可以方便随意的更改它的样式。
该库提供了三个旨在模仿其原生JavaScript等效项的函数。他们的确切的函数名是灵活的, 因此每个可以采取各种参数来定制标签和指定默认值,但它们最基本是这样:
警告
bootbox.alert(message, callback)
提示
bootbox.prompt(message, callback)
确认
bootbox.confirm({
title: "Destroy planet?",
message: "This is a confirm with custom button text and color! Do you like it?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-danger'
}
},
callback: function (result) {
console.log('This was logged in the callback: ' + result);
}
});
这三个函数中的每一个都可以调用第四个公共函数,你也可以使用它来创建自己的自定义对话框:
bootbox.dialog(options)
bootbox的所有版本都是在Bootstrap和jQuery的基础之上的,因此bootstrap,jQuery和bootbox的版本要对应
对话框代码不阻止代码执行
由于这个限制,在用户关闭对话框之前不应该运行的代码应该放置(或调用)在对话框的回调函数中。
注意脚本引用的顺序
例子及部分代码在下面
警告:基本用法
bootbox.alert("This is the default alert!");
警告:带回调
bootbox.alert("This is an alert with a callback!", function(){
console.log('This was logged in the callback!');
});
设置框大小
bootbox.alert({
message: "This is the small alert!",
size: 'small'
});
确认基本用法
bootbox.confirm("This is the default confirm!", function(result){
console.log('This was logged in the callback: ' + result);
});
交替按钮
bootbox.confirm({
message: "This is a confirm with custom button text and color! Do you like it?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-danger'
}
},
callback: function (result) {
console.log('This was logged in the callback: ' + result);
}
});
提示:基本用法
bootbox.prompt("This is the default prompt!", function(result){ console.log(result); });
日期提示
bootbox.prompt({
title: "This is a prompt with a date input!",
inputType: 'date',
callback: function (result) {
console.log(result);
}
});
提示输入密码
bootbox.prompt({
title: "This is a prompt with a password input!",
inputType: 'password',
callback: function (result) {
console.log(result);
}
});
电子邮件提示
bootbox.prompt({
title: "This is a prompt with an email input!",
inputType: 'email',
callback: function (result) {
console.log(result);
}
});
如何将bootbox和对于的按钮绑定
$(document).on("click", ".alert", function(e) {}
参考一:Bootbox.js
感谢大家观看
也感谢黄志波,张增锋,彭勇师兄的帮助